小编Evi*_*Joe的帖子

JPA/Hibernate加入恒定价值

我试图使用join语句中的常量值连接到同一个表中的不同实体.在SQL中,我会做这样的事情......

SELECT *
FROM owner o
JOIN types t on t.owner_id = o.id AND t.type = 'A'
--                                ^^^^^^^^^^^^^^^^ THIS IS WHAT I AM TRYING TO REPLICATE
Run Code Online (Sandbox Code Playgroud)

在Java + JPA/Hibernate中,我试图做这样的事情......

@Entity
@Table(name = "OWNER")
public class Owner {

    @Id
    @Column(name="ID")
    private Long id

    @OneToOne(mappedBy = "owner", fetch = FetchType.EAGER, cascade = CascadeType.ALL)
    @JoinColumns({
        @JoinColumn(name = "ID", referencedColumnName = "ID"),
        @JoinColumn(constantValue = "A", referencedColumnName="type")})
    //              ^^^^^^^^^^^^^^^^^^^  I AM LOOKING FOR SOMETHING THAT DOES THIS.
    //                                   constantValue IS NOT A VALID ARGUMENT …
Run Code Online (Sandbox Code Playgroud)

java hibernate jpa

9
推荐指数
3
解决办法
9505
查看次数

基于Spring Boot Directory的数据库

我想使用spring-boot的存储库功能连接到基于目录的Derby数据库.经过多次努力,我意识到我一直连接的derby DB只是一个内存数据库.有没有办法让我指定数据库应该存储在文件系统而不是内存中?在我的JVM被杀之后,我希望我的数据库能够被持久化(并且能够被访问).

我已尝试使用application.properties中的以下属性指定Derby连接URL以使用基于目录的数据库:

spring.datasource.url=jdbc:derby:directory;create=true
Run Code Online (Sandbox Code Playgroud)

我的属性确实被读取和使用,但数据库仍然没有在JVM starup和shutdown之间保留数据.看起来Derby DB目录结构是在我的"derby.system.home"系统属性指定的位置创建的,但是当我重新启动JVM时,它不包含旧JVM中存储的任何数据.

提前致谢!

java jpa derby spring-boot

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

标签 统计

java ×2

jpa ×2

derby ×1

hibernate ×1

spring-boot ×1