草庐IT

java - JPA:可自动和手动设置的 Id 列

我正在使用MySQL并具有以下实体:classMyEntity{@Id@GeneratedValue(strategy=IDENTITY)@Column(name="id")privateIntegerid;}但是,我还是希望能够手动设置id!问题是INSERT永远不会插入id列。例如,当这样做:MyEntitye=newMyEntity();e.setId(15);em.persist(e);em.flush();em.refresh(e);将进行以下查询:INSERTINTOmyEntities(col1,col2,col3)VALUES(?,?,?)SELECTid,col1,c

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

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.

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 - 如何在 Spring Data JPA 排序中定义空处理?

我需要按null而不是仅按null对我的数据进行排序。如下所示:ColumnAnullnullnull8105意思是一旦所有的空值都排在最前面,其余的值根本不应该排序并按原样出现。知道如何使用jpa查询/native查询来完成此操作。 最佳答案 如果你的项目使用SpringBoot,你可以像这样添加YML配置,它对我有用。spring:jpa:properties:hibernate.order_by.default_null_ordering:last 关于mysql-如何在Sprin

java - jpa/hibernate 如何通过带注释的外键映射元素集合

给定这两个表:CREATETABLE`soc`(`id`INTNOTNULLAUTO_INCREMENT,`name`VARCHAR(32),PRIMARYKEY(`id`));CREATETABLE`soc_attitude`(`soc_id`INTNOTNULL,`target_soc_id`INTNOTNULL,`attitude`INT,PRIMARYKEY(`soc_id`,`target_soc_id`));在Soc类中,我想使用如下字段从soc_attitude表中获取与this.soc_id匹配的所有行:privateMapattitudes;其中map的key是tar

java - 在JPA中,如何从单个实体类中的多个表中获取

Entity:Details@OneToMany(mappedBy="refId")privateCollectionPersonDetailCollection;@Id@Column(name="REFERENCE_ID")privateStringreferenceId;@Column(name="PRICE_ID")privateStringpriceID;@Column(name="NAME")privateStringname;GetterandSetterofallvariableEntity:PersonDetail@JoinColumn(name="REF_ID",re

mysql - JPA 一元运算符

我想知道是否可以在JPA中使用一元运算符设置bool值。我的意思是这样的@Modifying@Query("updateComputercomsetcom.enabled=!com.enabledwherecom.id=?1")启用字段在POJO中是这样映射的privateBooleanenabled;publicBooleangetEnabled(){returnenabled;}publicvoidsetEnabled(Booleanenabled){this.enabled=enabled;}在数据库中,它存储为boolean(1)这是结果Causedby:java.lang.I