草庐IT

java - Lob 使用 MySQL 和 jpa 返回 null

我正在尝试将文档作为BLOB存储在我拥有的Java域对象中。我看过一些帖子说可以使用@Lob来完成http://www.java2s.com/Tutorial/Java/0355__JPA/MarkByteArrayFieldAsLob.htm所以,我遇到的问题是,当我存储数据时,一切看起来都很好,我可以在我的mysql数据库中看到它,但是当我试图在域对象中取出它时,它总是空的。有什么想法吗?请注意,我在我的实体中使用的相关getter和setter如下:@Lobpublicbyte[]getData(){returndata;}publicvoidsetData(byte[]data

java - 简单但复杂的 HQL/SQL 查询

我有两个表,一对多关系(测验,评论):一个测验可以有多个评论我需要在页面内显示每个测验的最后5条评论。是否可以使用一个查询来提取这些评论(如果不能,最好的方法是什么)?现在我正在为每个测验执行单独的查询以提取最后5条评论。(我希望找到一个单一的HQL来允许我提取这些评论)附言。我正在使用hibernate/jpa/mysql 最佳答案 我写了一个与MySQL一起运行的复杂SQL;-)基本思想是:对评论进行排序并添加rownum作为排名。对同一测验的评论生成了具有连续数字的排名加入每个测验的最新评论的最大聚合有了这些附加信息,就可以构

java - 无法存储包含特殊字符的消息

我正在尝试将以下推文存储到MySQL数据库中,但失败并出现以下异常。我如何解决它?任何帮助表示赞赏。我正在使用utf8字符集数据库,我认为消息中的!???在这里有问题。tweet=I'mforbiddenbyaride@USSduetomyheight,I'msupposetositinthemid,incasethere'sanaccident,butIstilllovemyheight!???Causedby:java.sql.SQLException:Incorrectstringvalue:'\xF0\x9F\x91\x8D\xF0\x9F...'forcolumn'messa

mysql - 来自子句中的 JPA 子查询

我们正在开发一个使用EJB连接到数据库的Web应用程序。在我们的数据库模型中,我们有一个移动设备表,另一个具有特征,最后一个将特征值与​​手机型号进行映射。模型(id_model,...)功能(id_feature,...)model_features(id_model,id_feature,值)我们想要执行一个查询,以获取按匹配特征数量排序的模型。也就是说,我们传递了一个要匹配的特征列表(即从1到9),我们希望所有设备都包含"is"作为至少其中一项功能的值(value),并按前面所述对它们进行排序。我们创建了一个SQL查询来完成这项工作,并且它有效:SELECTCONCAT(subq

mysql - Glassfish Hibernate JPA 2.0 异常

我正在使用Glassfish3.1.1和hibernate3.6.5以及MySQL5.1+mysql-connector-java-5.1.6当我运行或部署基于JSF2.0和EJB3.1的模块时,间歇性地出现以下异常java.lang.IllegalStateException:WEB9031:WebappClassLoaderunabletoloadresource[com.mysql.jdbc.TimeUtil],becauseithasnotyetbeenstarted,orwasalreadystopped好吧,资源每次都在变化,有时它是org.hibernate.event.

具有数据库支持最佳实践的 Java 枚举

我已经四处寻找了一些答案,但它们并不能让我满意。我希望这不会重复。我有一个应用程序,其中的数据应该是常量。这些数据可以在以后修改,所以我目前的方法是使用一个单独的表来包含这个常量,它是从其他表中引用的。例如,该表有一个列ID和列值。这张表由一个带有ID和Value的Java对象表示。当我想比较这个常量时,我​​的问题就来了。比较使用它的ID对我来说似乎很难看,所以我虽然使用枚举来比较它们。但这似乎很尴尬,因为我将在用作“类型”的类中使用ENUM。所以我也在考虑来自JPA的@enumerated注释......但老实说,我没有看到最好的方法。我可以肯定的是,我绝对希望-以某种方式-将这个

java - JPQL : inner join with group by

我正在尝试使用criteriabuilder从数据库中检索数据。它工作得很好,查询几乎完美……几乎。不幸的是,Java不希望我在查询结果中使用groupby或distinct。如何让Java只检索唯一的记录?我的代码在这里:ListdocumentationList=newArrayList();DatabaseConnectordc=newDatabaseConnector();Listcriteria=newArrayList();EntityManagerem=dc.getEntityManager();CriteriaBuilderbuilder=em.getCriteriaB

mysql - 使用 JPA EntityManagerFactory(JSE、EclipseLink、Tomcat)连接到运行时在网络服务器中选择的不同 mysql 模式,这可能吗?

有没有办法在运行时重新创建已在Web应用程序中使用的EntityManagerFactory?我想要的是告诉entityManagerFactory忘记最后一个数据库连接,并在web用户选择其他数据库(mysql模式)时在运行时连接到新模式。或者不要忘记已经使用过的,但也使用一个新的连接到另一个尚未使用的mysql模式。这些模式具有完全相同的结构(表等),但出于安全和其他原因针对不同的用户。这可能吗?我正在使用Vaadin框架、Eclipselink2.4.1、Mysql5.5和Tomcat7。我发现与我的情况相关的内容以及我已经尝试过的内容如下。我正在使用Eclipselink复合持

mysql - 使用 JPA/Spring/Hibernate 自动截断字符串列的方法?

我正在使用Spring3.1.1.RELEASE、JPA2.0和Hibernate4.1.0.Final。我有一个VARCHAR(100)类型的MySQL5.5列。如果我保存一个值大于100个字符的实体,不出所料,保存失败并显示错误SQL[n/a];nestedexceptionisorg.hibernate.exception.DataException:Datatruncation:Datatoolongforcolumn'MY_COL'atrow1org.springframework.dao.DataIntegrityViolationException:数据截断:列数据太长有

mysql - 使用 mappedBy 的 Eclipse 链接到 Hibernate 迁移错误

我正在尝试将MySql数据库迁移到Postgresql。我正在使用JPA并为MySQL数据库使用EclipseLink,但我正在为Postgresql数据库切换到Hibernate。以下JPA注释与EclipseLink一起使用:UserBean.java:@OneToMany(mappedBy="sender",cascade=CascadeType.ALL)@JoinTable(name="MESSAGES_SENT")privateListmessagesSent;@OneToMany(mappedBy="receiver",cascade=CascadeType.ALL)@Jo