小编Jak*_*kub的帖子

Hibernate/persistence和singleton模式

我有一个要保存在数据库中的单例.其他持久性实体应该参考这个单例.如何用Hibernate实现?

我结束了一些尚未正常工作的东西,假装单身人士的单身ID:

@Entity
@Subselect("select '1' as ID")
class Singleton {
    @Id
    @Column(name="ID")
    private Long getId() { return 1l; }
    private void setId(Long id) { }
}

@Entity
@Table(name="ENT")
class MyEnt {
    // TODO: how to annotate so that table ENT doesn't need foreign key column 
   Singleton s;
}
Run Code Online (Sandbox Code Playgroud)

问题是我不希望在引用Singleton的实体中有一个带有外键的列 - 因为单例只有一个,我们不需要它的ID ...

也许我在以错误的方式思考?也许这是错误的架构问题?你有没有解决类似的问题?

java singleton persistence hibernate

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

计费详细信息从后端服务传递到API管理器或BAM

我们有一些服务(用WSO2 API Manager公开).我们想为消费者进行计费.

遗憾的是,我们的结算规则需要一些仅在已实施服务中可用的详细信息.我可以看到两种方法来处理它:

  • 将详细信息作为一种元数据传递回API管理器,然后将其传递给BAM,在BAM中将完成实际计费.我可以想象一些HTTP头或JWT用于此
  • 由服务本身直接生成计费到ESB.我个人并不喜欢这个,因为这会强制服务实现与特定于WSO2的代码绑定.

我的问题是,如果有一种方法如何在响应(传输层中的标头)中向API管理器提供一些额外的服务元数据,以及它是否可以通过API管理器传递给BAM进行监控,计费分析等...

wso2 wso2-api-manager wso2bam

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

spring本地化消息持久性

我会问是否知道一些"标准"方式如何保留消息,这些消息将在以后进行本地化.请注意,这还包括消息参数.例如,我在资源包中有代码"msg1"和1个参数的消息:

msg1 = Hello {0}
Run Code Online (Sandbox Code Playgroud)

我想将消息与一个对象关联起来,坚持下去.以后,不同的客户端会询问具有不同语言设置的对象.

obj.setDisplayMsg(msgSource.getMessage("msg1", "World", locale))
Run Code Online (Sandbox Code Playgroud)

我能想象:

  1. 将消息存储为具有消息代码和参数的顶级对象.我害怕性能 - 在单独的varchar列中,如果没有转换的简单错误消息,在单独的表中使用单独的对象似乎要差得多.
  2. 在字符串表示中编码消息代码及其参数,并使用一些hibernate自定义类型映射
  3. 但是,它是不是已经解决了(最好在春天),所以我不必再这样做了?

谢谢

更新:目前,我们做了一些中途 - 我们将消息作为序列化消息对象存储在映射表中的单列中.我仍然完全满意 - 直接在数据库中查看数据是不可能的.

spring persistence internationalization

4
推荐指数
1
解决办法
869
查看次数