相关疑难解决方法(0)

@Transactional注释在哪里?

你应该把它@Transactional放在DAO类和/或它们的方法中,还是更好地注释使用DAO对象调用的Service类?或者注释两个"层​​"是否有意义?

java spring annotations dao transactions

504
推荐指数
16
解决办法
23万
查看次数

Spring Boot和Spring数据:Hibernate Sessions是如何管理的?

我目前正在开发一个使用Spring Boot和Spring Data(它的JpaRepository接口准确)和Hibernate的应用程序.

我喜欢Hiberante的一个方面是它的缓存功能 - 当你提交与特定对象匹配的多个查询时,你将在每次查询执行时返回该对象的相同实例(相对于Java的==运算符).但是,在使用Spring Data和JpaRepository类时,情况似乎并非总是如此.出于这个原因,我假设这里有多个HibernateSession实例在工作.

因此我的问题是:Spring Data如何处理Hibernate会话?什么时候打开或关闭它们?有没有办法将它配置为对我的应用程序的整个运行时使用相同的会话来充分利用Hibernate的对象缓存?有没有理由这样做?

谢谢,

艾伦

session hibernate jpa spring-data spring-boot

42
推荐指数
1
解决办法
2万
查看次数

JPA 2.0中的会话和事务有什么区别?

我刚刚开始我的JPA 2.0研究,我有这段代码:

em = SessionFactory.startSession();
tx = em.getTransaction();
Run Code Online (Sandbox Code Playgroud)

我的问题是:我不确定我是否完全理解使用会话和使用事务之间的区别.在几行中,有谁能告诉我他们之间最大的区别?谢谢 !

java orm persistence hibernate jpa

39
推荐指数
3
解决办法
3万
查看次数

保存后刷新并获取实体(JPA/Spring Data/Hibernate)

我有这两个简单的实体SomethingProperty.该Something实体与多对一关系Property,因此当我创建一个新Something行时,我分配一个现有的Property.

东西:

@Entity
@Table(name = "something")
public class Something implements Serializable {

    private static final long serialVersionUID = 1L;

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @Column(name = "name")
    private String name;

    @Column(name = "owner")
    private String owner;

    @ManyToOne
    private Property property;

    // getters and setters

    @Override
    public String toString() {
        return "Something{" +
            "id=" + getId() +
            ", name='" + getName() + "'" +
            ", owner='" + …
Run Code Online (Sandbox Code Playgroud)

java persistence hibernate jpa spring-data-jpa

26
推荐指数
4
解决办法
3万
查看次数