希望上面的问题很清楚.
现在我的情况:对于我的包,我正在使用几个库(罐子).每个库都已获得以下许可之一的许可:Apache v2,BSD或LPGL.
编辑 [一些说明]我在jar中打包了我自己的java类.来自这里提到的库的这些导入类(动态链接)[结束编辑]
问题1:我可以将所有这些库打包在一个包中吗?
问题1a:如果是,在Apache,BSD,LGPL或其他任何许可下?
问题1b:如果是,是否足以将所有库名称放在通知中,并根据许可证共同许可的库进行编写?
问题2:或者我是否必须为每种类型的许可创建一个单独的包并根据其许可类型将库放入其中?
假设我们有实体 A 和 B 的 @OneToMany 关系。每个 A 可以有多个 B。
@Entity
public class A{
@Id
private long id;
...
@OneToMany(mappedBy="ref")
private List<B> items;
...
}
@Entity
public class B{
@Id
private long id;
@ManyToOne
@JoinColumn(name = "A_ID")
private A ref;
}
Run Code Online (Sandbox Code Playgroud)
此应用程序已投入生产一段时间,直到现在,保存到 db 中的 B 的顺序并不相关。
但是,现在需要 B 的确切顺序。为此,我添加了如下所示的 @OrderColumn。
@OneToMany
@OrderColumn(name="B_ORDER")
private List<B> items;
Run Code Online (Sandbox Code Playgroud)
它工作正常,B 表现在具有带有订单值的 B_ORDER 列。
现在需要更新生产数据库。新列 B_ORDER 已添加到表 B。但是,对于现有行,此列没有值 (null)。当您尝试检索现有记录的 B 列表时,出现以下异常:
org.hibernate.HibernateException: null index column for collection
Run Code Online (Sandbox Code Playgroud)
对于旧记录,可以按任何顺序列出 B 列表。@OrderColumn 具有属性“nullable”,默认情况下为 true。但它没有帮助。
有没有一种 JPA 方法,还是我必须自己在 …
我已经在配置面板中激活了连接模式。我们的SonarQube(版本5.6.5)具有默认的质量配置文件。在配置面板中,我选择了一个项目,该项目没有明确定义的质量配置文件。因此,默认配置文件被激活。SonarQube发现此项目的问题。但是,SonarLint找不到任何东西。我已停用连接模式。然后发现一些问题。
SonarLint可能无法正确选择默认配置文件吗?
IntelliJ Idea版本2017.1.2 SonarLint版本2.9.0.1816
谢谢。