JPA Native Query选择和转换对象

我有一个扩展User的对象Admin 。 默认情况下,两个对象都在我的Derby数据库的User_表中(来自Admin包含字段)。 通常我会像这样选择一个User : CriteriaBuilder cb = em.getCriteriaBuilder(); CriteriaQuery query = cb.createQuery(User.class); Root user= query.from(User.class); Predicate predicateId = cb.equal(category.get(“id”), id); query.select(user).where(predicateId); return em.createQuery(query).getSingleResult(); 但是由于我的查询的复杂性,我正在使用这样的本机查询: Query query = em.createNativeQuery(“SELECT USER.* FROM USER_ AS USER WHERE ID = ?”); query.setParameter(1, id); return (User) query.getSingleResult(); 虽然这会抛出一个强制转换exception。 我认为这是由于Admin任何字段。 我的问题是,如何使用具有相同结果的本机查询作为第一个示例选择User (包括@LOB和@ManyToOne (等等)的相同值,因为JPQL查询将返回)?

如何将JTable列调整为字符串长度?

我有一个JTable,它将最后一列数据字段更改为不同的字符串值。 我想将列的大小调整为字符串长度。 字符串长度与宽度的公式是什么? 我将使用JTable.getColumnModel().getColumn().setPreferredWidth()所以我想知道如何将字符串长度转换为宽度值。

学习Java,使用synchronized关键字

所以我用synchronized关键字进行测试。 这是我尝试的一个例子: public class MyTest { static int i = 0; public static void main(String[] args) { new Thread(t1).start(); new Thread(t2).start(); } private static void countMe(String name){ i++; System.out.println(“Current Counter is: ” + i + “, updated by: ” + name); } private static Runnable t1 = new Runnable() { public void run() { try{ […]

使用log4j在Java中记录运行时exception

我目前正在使用Tomcat,Spring和JAVA构建应用程序。 我使用Log4J作为我的日志库。 我目前正在将所有内容记录到文本文件中。 我遇到的一个问题是RuntimeExceptions没有记录到任何文件。 我想知道是否有办法记录可能抛出到我的应用程序日志文件的所有RuntimeExceptions 。 如果不是可以让它登录到另一个日志文件? 有没有标准的方法来做到这一点? 如果是这样,在Tomcat中运行应用程序时有一种标准的方法吗? 预先感谢您的帮助!

如何在J2ME中拆分字符串?

如何以有效的方式在J2ME中拆分字符串? 标准版(J2SE)中有一个StringTokenizer或String.split(String regex) ,但它们在微版本(J2ME,MIDP)中不存在。

这个Java正则表达式如何检测回文?

这是一系列教育正则表达式文章的第三部分。 它遵循这个正则表达式如何找到三角形数字? (首先介绍嵌套引用)以及如何将^ nb ^ n与Java正则表达式匹配? (前瞻性“计数”机制进一步详述)。 这部分介绍了一种特定forms的嵌套断言,当与嵌套引用结合使用时,Java正则表达式可以匹配大多数人认为“不可能”的东西:回文! 回文的语言是非常规的 ; 它实际上是无上下文的 (对于给定的字母表)。 也就是说,现代正则表达式实现不仅仅识别常规语言,而且Perl / PCRE的递归模式和.NET的平衡组可以很容易地识别回文(参见: 相关问题 )。 但是,Java的正则表达式引擎既不支持这些“高级”function。 然而“某人” ( * wink * )成功编写了以下正则表达式,这似乎做得很好( 参见ideone.com ): public class Palindrome { // asserts that the entirety of the string matches the given pattern static String assertEntirety(String pattern) { return “(?<=(?=^pattern$).*)".replace("pattern", pattern); } public static void main(String[] […]

Java Runtime exec()无法正确转义字符

这可能已经在之前得到了解答,但那是关于unicode的,我不认为这是unicode(它是ASCII,所以……)。 当我在终端中执行此操作时,没有任何问题 vboxmanage setextradata “Test Machine” “VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/HostPort” 2222 但是当我在Java中使用以下内容时 Runtime.getRuntime().exec(“vboxmanage setextradata \”Test Machine\” \”VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/HostPort\” 2222″); 它返回一个错误:unregistered vm’“TestMachine”’ 其中包含空格的参数(如Test \ Machine)也是如此,然后它不会逃避空间。 现在我认为这与字符编码有关,但我没有看到任何设置o_O的选项

JPanel投影

我有一个JPanel元素,我想添加一个投影,我怎么能添加一个漂亮的褪色阴影到元素? 我是否需要使用外部库或者是否有可以使用的内置库? 例:

java字符串拆分所有非字母数字除撇号

所以我想在任何非字母数字字符上拆分java中的字符串。 目前我一直这样做 words= Str.split(“\\W+”); 但是我想在那里保留撇号(“’”)。 是否有任何正则表达式来保留撇号但踢掉其余的垃圾? 谢谢。

在Java中存储应用程序的conf数据的正确方法是什么?

在哪里为J2SE应用程序存储特定于用户和机器的 运行时配置数据? (例如,Windows上的C:\ Users \ USERNAME \ AppData \ Roaming \和Unix上的/ home / username ) 如何以与平台无关的方式在文件系统中获取这些位置? 谢谢你的建议!