小编ren*_*nke的帖子

Not-null属性引用持久值的null或transient值

我正在尝试使用JPA1和Hibernate实现来持久保存两个不同的实体.代码如下所示:

父实体类

@Entity
@Table(name = "parent")
public class Parent implements Serializable {

    {...}
    private Child child;

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "child_id", nullable = "false")
    public Child getChild() {
        return child;
    }

    public void setChild(Child child) {
        this.child = child;
}
Run Code Online (Sandbox Code Playgroud)

子实体类

@Entity
@Table(name = "child")
public class Child implements Serializable {

    private Integer id;

    @Id
    @Column(name = "child_id")
    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }
}
Run Code Online (Sandbox Code Playgroud)

测试用例

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:META-INF/application.xml")
@Transactional …
Run Code Online (Sandbox Code Playgroud)

java orm hibernate jpa hibernate-mapping

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

在复合键中使用JoinColumns时,TypeDescriptor错误

我一直在四处张望,试图弄清楚下面的映射有什么问题.我理解以下映射对于ORM来说并不理想,但这就是数据库的方式,我不能改变它的结构.我正在使用JPA 2.1和Hibernate 5.0.2.Final.

@MappedSuperclass    
public abstract class BaseEntity<T extends Serializable> implements Serializable {

    protected T id;

    @Id
    public T getId() {
        return id;
    }

    protected void setId(T id) {
        this.id = id;
    }
}
Run Code Online (Sandbox Code Playgroud)
@Table(name = "campaign")
@AttributeOverride(name = "id", column = @Column(name = "campaign_id") )
public class Campaign extends BaseEntity<String> {
    // attributes, getters and setters
}
Run Code Online (Sandbox Code Playgroud)
@Embeddable
public class CampaignBroadcastPK implements Serializable {

    @ManyToOne
    @JoinColumn(name = "campaign_id", insertable = false, updatable = false)
    private Campaign campaign;

    @Column(name = …
Run Code Online (Sandbox Code Playgroud)

java hibernate jpa

11
推荐指数
1
解决办法
245
查看次数

在Spring Boot 2上禁用Flyway

我一直在尝试为Spring Boot 2上的单元测试禁用Flyway,但未能成功。

从Spring Boot的文档中,我了解到,这样做的属性从更改flyway.enabledspring.flyway.enabled,并将其添加到了我的测试应用程序配置文件中(如下所示)。

spring:
  datasource:
    url: jdbc:h2:mem:db
  jpa:
    hibernate:
      ddl-auto: create
  flyway:
    enabled: false
Run Code Online (Sandbox Code Playgroud)

此配置似乎完全无效,并且仍会调用Flyway自动配置。

我还尝试为添加的单元测试创​​建一个单独的自动配置类@EnableAutoConfiguration(exclude = FlywayAutoConfiguration.class),但这与上一个失败一样多。

java flyway spring-boot

7
推荐指数
1
解决办法
4106
查看次数

Eclipse重构Iterator /同时foreach

有谁知道是否有一种简单的方法来重构代码以使用foreach迭代集合而不是while/Iterator组合?

例:

我有:

Iterator<MyObject> iterator = list.iterator();
while (iterator.hasNext()) {
   MyObject myObject = iterator.next();
   // do stuff
}
Run Code Online (Sandbox Code Playgroud)

而且我要:

for (MyObject myObject : list) {
   // do stuff
}
Run Code Online (Sandbox Code Playgroud)

是的,我知道我不会得到任何性能提升.我只是希望它不那么冗长,因为我喜欢:)

java eclipse

5
推荐指数
1
解决办法
334
查看次数

存储令牌以访问 Spring Boot 上的其他应用程序

我在 Spring Boot 中有一个 Rest 应用程序,配置了安全性并为其公开的服务实现了 JWT 令牌。但该应用程序还连接到其他第三方应用程序,这些应用程序也使用 JWT 进行保护,并且每个应用程序使用不同的令牌。

我的问题是:存储这些第三方代币的最佳策略是什么?是否有类似SecurityContextHolder, 但用于存储应用程序用于在其他服务上进行身份验证的令牌?

spring-security spring-boot

5
推荐指数
1
解决办法
3199
查看次数