小编Mat*_*teo的帖子

使用多对多关系映射只读数据库而不使用连接表

我有一个类似于@ManyToMany的问题,没有连接表(遗留数据库),还有一个问题.

我有两个表AB

  • A使用多列主键(IDID2)
  • B使用多列主键(IDID3)

行中的一行A可以引用B(B.ID = A.ID)中的多行,而行中B的几行可以引用A.

编辑:数据库是一个只读的遗留数据库,我无法更改.我不需要映射与JPA的关系(我可以在我的程序逻辑中使用额外的选择来实现它)但它会很好.

它基本上是没有连接表的多对多关系.因为,对于链接的问题,我只需阅读表格,我尝试在两个类中使用两个一对多关系.

我遇到的另一个问题是,ID用于连接的两个都不是主键.

我有以下课程:

@Entity
@Table( name = "A" )
@IdClass( PrimaryKeysA.class )
public class A {

    @Id
    @Column( name = "ID", insertable = false, updatable = false, columnDefinition = "char" )
    private String id;

    @Id
    @Column( name = "ID2", insertable = false, …
Run Code Online (Sandbox Code Playgroud)

java hibernate jpa

12
推荐指数
1
解决办法
2284
查看次数

$ @和$之间的区别!在perl

$@$!Perl有什么区别?eval使用相关的错误输出$@.$!也用于捕获错误.那么他们俩之间有什么区别?

perl

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

自动人类可读时间间隔

我想以人类可读的格式表达一些时间间隔.我正在寻找一个能自动选择正确单位大小的图书馆.间隔范围从毫秒到几周.就像是

  • 0.2S
  • 2:00
  • 4天
  • ...

我知道我可以手动检查参数的大小然后转换它但在重新发明轮子之前我想问一下是否有(标准)库来实现它.

编辑:

我的输入以纳秒为单位,输出如上所述.

java api time datetime date

8
推荐指数
1
解决办法
5596
查看次数

在HTML中查找评论

我有一个HTML文件,其中可能有Javascript,PHP以及人们可能会或可能不会将其放入HTML文件中的所有这些内容.

我想从这个html文件中提取所有注释.

我可以指出这样做有两个问题:

  1. 一种语言的评论可能不是另一种语言的评论.

  2. 在Javascript中,使用//标记注释掉其余行.但是URL也包含//在其中,因此如果我只是应用替换//而不是行的其余部分,我可能会消除部分URL .

所以这不是一个小问题.

有没有什么解决方案已经可用?

有没有人这样做过?

html javascript perl comments

8
推荐指数
1
解决办法
411
查看次数

为什么Perl通常没有线程支持而安装?

Perlbrew默认Perl安装,没有线程支持.这只是一个遗留习惯还是带有线程支持的Perl安装会产生问题?

perl perlbrew

8
推荐指数
1
解决办法
2128
查看次数

16位asm指令集

COM文件中使用了哪些指令集?我以为它是8086,但似乎我错了.在我发现的8086手册中,shl只能接受1或cl作为其第二个参数,而1以外的立即值对我来说工作正常.如果重要,我正在使用NASM.
谢谢你的时间.

x86 assembly 16-bit

7
推荐指数
2
解决办法
1842
查看次数

Macrodef和"本地属性"

我试图将文件(由模式指定)移动到Ant macrodef中的给定位置:

<macrodef name="extract">
    <attribute name="package"/> 
    <sequential>

        <!-- the path will contain the unique file in extracted regardless of the name -->
        <path id="source_refid">
            <dirset dir="${dep}/lib/@{package}/extracted/">
                <include name="@{package}-*"/>
            </dirset>
        </path>

        <!-- this is not working: properties are immutable -->
        <property name="source_name" refid="source_refid"/>

        <move
            file="${source_name}"
            tofile="${dep}/@{package}/"
            overwrite="true"
        />

    </sequential>
</macrodef>
Run Code Online (Sandbox Code Playgroud)

这将只工作一次,因为它${source_name}是不可变的.

一个选项是使用变量任务,但我没有找到一种方法来为一个refid分配一个var.

有没有办法在macrodef中有类似于局部变量的东西?或者(XY问题)有更好的方法来解决我的问题吗?

ant macrodef

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

org.hibernate.type.TextType和Oracle

我们使用Hibernate作为JPA提供程序,我们有一个带有标记的大对象字段的类

@Lob
@Type( type = "org.hibernate.type.TextType" )
private String someString;
Run Code Online (Sandbox Code Playgroud)

该列创建为

SOMESTRING            LONG()             
Run Code Online (Sandbox Code Playgroud)

这与PostgreSQL和MySQL完美配合.使用Oracle时持久化对象

entityManager.persist( object );
Run Code Online (Sandbox Code Playgroud)

我们得到一个org.hibernate.exception.GenericJDBCException: Could not execute JDBC batch update例外.

删除@Type( type = "org.hibernate.type.TextType" )注释将解决Oracle的问题,但会引入PostgreSQL的编码问题,如使用Hibernate/PostgreSQL无法将Euro-sign存储到LOB字符串属性中所述

我想知道如何定义一个大文本字段,以便out程序可以在PostgreSQL和Oracle上运行.纯JPA解决方案是最佳的,但Hibernate特定的解决方案也是如此.

编辑:

真正的例外:

java.sql.BatchUpdateException: ORA-22295: cannot bind more than 4000 bytes data to LOB and LONG columns in 1 statement
Run Code Online (Sandbox Code Playgroud)

现在,我错过的例外解释了问题,实际上我持久化的对象比大字符串(至少一个长DBID)更多.

postgresql hibernate jpa oracle11g

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

具有多列的Hibernate IN子句

需要知道如何构造一个Hibernate Query,它获取与IN包含多个列值的子句匹配的结果.

例如,

Query query=session.createQuery( "from entity e where (e.abc, e.xyz) in (:list)" );
query.setParameterList( "list", list );
Run Code Online (Sandbox Code Playgroud)

这里list将是一个2D数组,可以包含基本类型的基本包装器对象,例如Integer,String等等.

这可能吗?

hibernate

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

禁用JVM热交换

我们正在检测字节代码,我们使用Eclipse进行软件开发.

我们现在必须遵循以下问题:在调试时,Eclipse正在使用热交换用已编译的代码替换我们的检测代码,因为它检测到它已被更改.

在Eclipse中,我没有找到任何方法来禁用该功能:在Hot Code Replace settings部分中,我只看到启用/禁用警告的方法.

正如已经回答的那样,我们可以禁用自动构建,但我想询问是否有一种方法(一个选项)告诉JVM禁用热插拔功能?

我们可以在禁用选项的情况下启动JVM,我们不应该关心Eclipse或任何其他IDE /调试器交换代码.

debugging jvm

6
推荐指数
1
解决办法
1654
查看次数