Questions tagged «jpa»

Java Persistence API(JPA)是Java规范,用于访问,持久化和管理Java对象/类与关系数据库之间的数据。它是EJB 3.0规范的一部分,并且是对象到关系映射(ORM)的行业标准方法。

8
JPA渴望获取未加入
JPA的提取策略究竟控制什么?我无法发现渴望与懒惰之间的任何区别。在这两种情况下,JPA / Hibernate都不会自动加入多对一关系。 示例:人员有一个地址。一个地址可以属于许多人。JPA注释的实体类如下所示: @Entity public class Person { @Id public Integer id; public String name; @ManyToOne(fetch=FetchType.LAZY or EAGER) public Address address; } @Entity public class Address { @Id public Integer id; public String name; } 如果我使用JPA查询: select p from Person p where ... JPA / Hibernate生成一个SQL查询以从Person表中选择,然后为每个人进行不同的地址查询: select ... from …
112 java  hibernate  jpa  join 

7
休眠问题-“使用@OneToMany或@ManyToMany定位未映射的类”
我正在使用“休眠注释”找到自己的脚,并且遇到了一个问题,希望有人可以提供帮助。 我有2个实体,分别是Section和ScopeTopic。该部分具有List类成员,因此具有一对多关系。运行单元测试时,出现此异常: 使用@OneToMany或@ManyToMany定位未映射的类:com.xxx.domain.Section.scopeTopic [com.xxx.domain.ScopeTopic] 我会假设该错误暗示我的ScopeTopic实体未映射到表?我看不到我做错了。这是实体类: @Entity public class Section { private Long id; private List<ScopeTopic> scopeTopics; public Section() {} @Id public Long getId() { return id; } public void setId(Long id) { this.id = id; } @OneToMany @JoinTable(name = "section_scope", joinColumns = {@JoinColumn(name="section_id")}, inverseJoinColumns = {@JoinColumn(name="scope_topic_id")} ) public List<ScopeTopic> getScopeTopic() …
112 hibernate  jpa 

11
我是否需要persistence.xml中的<class>元素?
我有一个非常简单的persistance.xml文件: &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"&gt; &lt;persistence-unit name="eventractor" transaction-type="RESOURCE_LOCAL"&gt; &lt;class&gt;pl.michalmech.eventractor.domain.User&lt;/class&gt; &lt;class&gt;pl.michalmech.eventractor.domain.Address&lt;/class&gt; &lt;class&gt;pl.michalmech.eventractor.domain.City&lt;/class&gt; &lt;class&gt;pl.michalmech.eventractor.domain.Country&lt;/class&gt; &lt;properties&gt; &lt;property name="hibernate.hbm2ddl.auto" value="validate" /&gt; &lt;property name="hibernate.show_sql" value="true" /&gt; &lt;/properties&gt; &lt;/persistence-unit&gt; &lt;/persistence&gt; 而且有效。 但是,当我删除&lt;class&gt;元素时,应用程序看不到实体(所有类都带有注释@Entity)。 是否有自动扫描@Entity类的机制?
110 java  hibernate  orm  jpa  annotations 

9
在Spring JpaRepository中的%Like%查询
我想写一个类似的查询,JpaRepository但它不返回任何内容: LIKE '%place%'-它不起作用。 LIKE 'place' 完美地工作。 这是我的代码: @Repository("registerUserRepository") public interface RegisterUserRepository extendsJpaRepository&lt;Registration,Long&gt; { @Query("Select c from Registration c where c.place like :place") List&lt;Registration&gt; findByPlaceContaining(@Param("place")String place); }

3
在JPA / Hibernate中正确使用flush()
我正在收集有关flush()方法的信息,但是我不清楚何时使用它以及如何正确使用它。从我的阅读中,我的理解是持久性上下文的内容将与数据库同步,即发布未完成的语句或刷新实体数据。 现在,我得到下列设想两个实体A和B(在一比一的关系,而不是由JPA执行或模拟)。A具有手动设置的复合PK,还具有自动生成的IDENTITY字段recordId。这recordId应B作为的外键写入到实体A。我要存钱,A并且要B进行一次交易。问题是自动生成的值A.recordId是不是在事务内可用,除非我做的一个显式调用em.flush()打完电话后em.persist()上A。(如果我有一个自动生成的IDENTITY PK,那么该值将直接在实体中更新,但是这里不是这种情况。) 可以em.flush()在一个事务中使用时造成什么伤害?

9
什么是持久性上下文?
我是Java世界和JPA的新手。我在学习JPA时遇到了许多新术语,例如Entity,persistence。在阅读时,我无法理解Persistence Context的确切定义。 谁能用简单的外行术语解释它?与中使用的数据有@Entity什么关系? 例如,我发现此定义太复杂而难以理解: 持久性上下文是一组实体,因此对于任何持久性身份,都有一个唯一的实体实例。
109 java  jpa  orm  persistence 


9
为什么将View中的Hibernate Open Session视为不良做法?
以及您使用哪种替代策略来避免LazyLoadExceptions? 我确实了解到公开会议存在以下问题: 在不同的jvm中运行的分层应用程序 事务仅在最后提交,并且很可能您希望在结果之前提交。 但是,如果您知道您的应用程序在单个vm上运行,为什么不使用视图中开放会话策略来减轻痛苦呢?

2
JPQL IN子句:Java数组(或列表,集合…)?
我想从数据库中加载所有设置了文本标签的对象,这些标签设置为少量但任意数量的值。在SQL中执行此操作的逻辑方法是建立“ IN”子句。JPQL允许IN,但是似乎要求我直接为IN指定每个单个参数(例如,“ in(:in1,:in2,:in3)”)。 是否有某种方法可以指定应展开为IN子句值的数组或列表(或其他容器)?
108 sql  orm  jpa  jpql  named-query 


13
Spring Boot默认的H2 jdbc连接(和H2控制台)
当我未在application.properties中指定任何内容并以mvn spring:run开头时,我只是想查看spring-boot创建的嵌入式H2数据库的H2数据库内容。我可以看到休眠的JPA正在创建表,但是如果我尝试通过数据库下面的URL访问h2控制台,则该表没有表。 http://localhost:8080/console/ 我看到这样的建议: 查看Spring启动的嵌入式H2数据库的内容 但是我不知道在春季启动时将建议的XML放在哪里,即使我这样做了,我也不希望在配置外部数据库时h2console可用,因此我更有可能需要处理此问题。使用某种条件代码(或者在最理想的情况下(仅当激活Maven配置文件时我仅包含H2)才允许spring自动处理它)。 是否有人有示例代码显示如何使H2控制台在启动时工作(以及找出spring使用的jdbc连接字符串的方法)?
107 java  spring  jpa  h2  spring-boot 

11
如何使用JPA和Hibernate在UTC时区中存储日期/时间和时间戳
如何配置JPA /休眠模式以UTC(GMT)时区在数据库中存储日期/时间?考虑以下带注释的JPA实体: public class Event { @Id public int id; @Temporal(TemporalType.TIMESTAMP) public java.util.Date date; } 如果日期为太平洋标准时间(PST)2008-Feb-03 9:30 am,那么我希望数据库中存储2008-Feb-03 5:30 pm的UTC时间。同样,当从数据库中检索日期时,我希望将其解释为UTC。因此,在这种情况下,530pm是UTC 530pm。显示时,它将被格式化为太平洋标准时间上午9:30。

10
如何使用JPA批注对MYSQL自动增量字段进行批注
直截了当,问题是将对象Operator存入MySQL DB。在保存之前,我尝试从此表中进行选择并起作用,因此与db的连接也是如此。 这是我的Operator对象: @Entity public class Operator{ @Id @GeneratedValue private Long id; private String username; private String password; private Integer active; //Getters and setters... } 为了节省,我使用JPA EntityManager的persist方法。 这是一些日志: Hibernate: insert into Operator (active, password, username, id) values (?, ?, ?, ?) com.mysql.jdbc.JDBC4PreparedStatement@15724a0: insert into Operator (active,password, username, id) values (0, …
105 java  mysql  orm  jpa  annotations 

4
如何使用JPA和Hibernate映射计算的属性
我的Java bean具有childCount属性。此属性未映射到数据库列。取而代之的是,它应该由数据库通过COUNT()对Java bean及其子级的联接进行操作的函数来计算。如果可以按需/“懒惰地”计算此属性,那就更好了,但这不是强制性的。 在最坏的情况下,我可以使用HQL或Criteria API设置此bean的属性,但我不希望这样做。 Hibernate @Formula批注可能会有所帮助,但我几乎找不到任何文档。 任何帮助,不胜感激。谢谢。

12
如何使用JPA将Java Date存储到Mysql datetime
谁能告诉我如何将Java Date存储到Mysql datetime ...? 当我尝试这样做时...仅日期存储并且像这样在Mysql日期存储中保留时间00:00:00 ... 2009-09-22 00:00:00 我不仅要约会,而且要时间... 2009-09-22 08:08:11 我正在将JPA(Hibernate)与spring mydomain类一起使用java.util.Date,但是我已经使用手写查询创建了表... 这是我的创建声明 CREATE TABLE ContactUs (id BIGINT auto_increment, userName VARCHAR(30), email VARCHAR(50), subject VARCHAR(100), message VARCHAR(1024), messageType VARCHAR(15), contactUsTime datetime, primary key(id)) TYPE=InnoDB;
104 java  mysql  datetime  jpa 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.