草庐IT

QueryDSL-JPA

全部标签

mysql - Java EE/JPA 向数据库添加新表/实体的方法

我有一个mysql数据库,我想添加向数据库添加新表的功能。我可能可以很容易地找到JPQL的示例,但是我将如何自动为这个新表生成实体,以便我可以在我的JPA代码的其余部分中引用它以从表中更新和删除我通常引用实体不是实际的表本身。我现在拥有的实体是使用eclipe从我创建的表中生成的。但是在部署之后,我们显然不会让Eclipse来执行此操作,因此我们需要在每次创建表时自动完成它。 最佳答案 动态创建和映射新表不是JPA支持的。它需要即时创建新的Java类并动态更新映射元数据。您可以使用JDBC或native查询做任何您想做的事情。但也许

java - 如何调试 JPA CriteriaBuilder 查询

如何调试使用JPA2.0CriteriaBuilder构建的查询?有没有办法打印出正在执行的查询?我正在使用NetBeans、MySql、GlassFish开发Web应用程序。我会避免在Debug模式下启动MySql,因为它也用于其他应用程序。JPA提供程序是EclipseLink。 最佳答案 persistence.xml中还打印从常规JPQL查询生成的SQL的相同属性也应该打印从Criteria查询生成的SQL。例如对于Hibernate(例如JBossAS使用的)它是:对于EclipseLink(例如GlassFish使用的)

java - 使用 spring-boot 在 Jpa 查询中出错

从服务器日志我得到以下错误o.s.w.s.m.m.a.HttpEntityMethodProcessor:Written[{timestamp=FriMay1501:39:47EDT2015,status=500,error=InternalServerError,exception=org.springframework.transaction.TransactionSystemException,message=CouldnotrollbackJPAtransaction;nestedexceptionisjavax.persistence.PersistenceException

java - jpa mysql表不存在

我正在尝试将一个Employee实体插入到数据库中。我用的是JPA,数据库是mysql。当我尝试插入实体时,它给我test.employee不存在。我假设我不必创建table。实体将自动创建带有注释名称的表。请在下面找到异常和代码。Exceptioninthread"main"javax.persistence.RollbackException:Exception[EclipseLink-4002](EclipsePersistenceServices-2.5.1.v20130918-f2b9fc5):org.eclipse.persistence.exceptions.Databa

java - 无法打开 JPA EntityManager 进行交易;嵌套异常是 javax.persistence.PersistenceException

当我运行我的代码时,我得到这个异常:com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:CommunicationslinkfailureThelastpacketsentsuccessfullytotheserverwas0millisecondsago.Thedriverhasnotreceivedanypacketsfromtheserver.atsun.reflect.NativeConstructorAccessorImpl.newInstance0(NativeMethod)atsun.reflect.Native

java - JBoss6 JPA : Entity with @Lob results in GenericJDBCException

我有一个带有@Lob注释的简单EntityBean。如果我删除这个注解,我在JBossAS6.0.0.Final和MySQL5上不会出错。但是如果我用@Lob注释它(因为在我的例子中mt包含大约100到5000个字符),如果我坚持实体,我的测试环境会出错。没有@Lob:mt被映射到VARCHAR使用@Lob:mt映射到LONGTEXT(这是我想要的,但我得到错误)这是我的实体:@Entity@Table(name="Description")publicclassDescriptionimplementsSerializable{publicstaticfinallongserialV

java - 如何在 MySQL 中使用 JPA 自动生成区分大小写的列

如何命令JPA在创建时将文本内容的MySQL数据库列设置为默认区分大小写? 最佳答案 @Column字段上的注释可以指定一个columnDefinition属性,该属性可能允许您为列指定区分大小写的排序规则。publicabstractStringcolumnDefinition    (Optional)TheSQLfragmentthatisusedwhengeneratingtheDDLforthecolumn.    DefaultstothegeneratedSQLtocreateacolumnoftheinferredt

java - 如何使用 JPA 和 Hibernate 将 MySQL JSON 列映射到 Java 实体属性

我有一个声明为JSON类型的MySQL列,但我无法将其映射到JPA/Hibernate。我在后端使用SpringBoot。这是我的代码的一小部分:@Entity@Table(name="some_table_name")publicclassMyCustomEntityimplementsSerializable{privatestaticfinallongserialVersionUID=1L;@Id@GeneratedValue(strategy=GenerationType.AUTO)privateLongid;@Column(name="json_value")privateJ

java - 执行自定义查询时出现 Spring Data JPA : getting No aliases found in result tuple! 错误

我正在尝试使用springdatajpa的@Query注释在mysql数据库上执行自定义查询。表格是+------------+---------------+------+-----+---------+-------+|Field|Type|Null|Key|Default|Extra|+------------+---------------+------+-----+---------+-------+|id|decimal(10,0)|NO|PRI|NULL|||first_name|varchar(20)|YES||NULL|||last_name|varchar(20)|

java - 如何使用 JPA native 查询选择具有相同名称的多个列?

我在通过JPA使用sqlnative查询选择一些数据时遇到了一些麻烦。那是因为我有3个同名的列,“descricao”。当我通过EntityManager接口(interface)的createNativeQuery方法执行选择操作时,找到的第一列值会覆盖其他列值。(例如,给定记录的第一列descricao的值为“foo”,第二个“bar”和第三个“foobar”,当我在一个对象数组中得到这个结果时(因为我还没有ORM映射了实体),任何地方都应该填充列descicao的给定第二个和第三个值填充第一个的值)我很确定那是因为我曾经使用过JPA直接在数据库上选择并正确返回所有内容。环境:My