小编Mik*_*e Q的帖子

Hibernate默认加入可空多对一

我在ProductDfn类中有这样的hibernate映射

@ManyToOne( fetch = FetchType.LAZY, optional = true )
@JoinColumn( name = "productTypeFk", nullable = true )
public ProductType getProductType()
{
    return productType;
}
Run Code Online (Sandbox Code Playgroud)

请注意,该关系被定义为可选(并且该列可以为空).

做HQL的时候是这样的

select p.name as col1, p.productType.name as col2 from ProductDfn p
Run Code Online (Sandbox Code Playgroud)

内部联接用于将ProductDfn连接到ProductType,因为hibernate从select子句中的隐式连接生成显式SQL连接.

但是,当执行上述操作时,如果productType为null(在DB中),则由于内部联接而不返回任何行.对于这种关系,我希望hibernate默认为执行外连接(因为关系是可选的)所以我会得到col2的"null",而不是没有行.

有谁知道这是否可能?

谢谢.

hibernate join nullable outer-join

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

使用mysqlimport,其中文件名与表名不同

我一直在玩mysqlimport而且我遇到了限制,其中文件名必须与表名相同.有没有办法解决这个问题?

我无法重命名该文件,因为它被其他进程使用,我不想复制该文件,因为会有很多文件,有些非常大.

我想使用mysqlimport而不是LOAD INFILE.

编辑:不幸的是,这需要在Windows上运行所以没有带有符号链接的技巧我害怕.

mysql filenames mysqlimport restriction tablename

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

FileInputStream.skip()执行搜索吗?

我想将最后10MB的可能大文件复制到另一个文件中.理想情况下,我会使用FileInputStream,skip()然后read().但是我不确定skip()的性能是否会很糟糕.skip()通常是使用下面的文件搜索实现的,还是实际读取和丢弃数据?

我知道RandomAccessFile,但我对是否可以使用FileInputStream代替它感兴趣(RandomAccessFile很烦人,因为API是非标准的).

java inputstream random-access seek

13
推荐指数
1
解决办法
9738
查看次数

SQL Server聚簇索引是否替换RID查找"索引"

当一个表在SQL Server中具有聚簇索引时,是否意味着所有索引查询都将通过聚簇索引?

例如,如果我有一个包含单个非聚集索引的表(索引一列)并通过该列搜索行,它将执行 Index Seek -> RID -> Data row lookup -> Result

但是,如果我在不同的列上添加聚簇索引,则相同的查询将执行以下操作 Index Seek -> Extract clustering key -> Clustered index seek -> Results

这对我来说意味着非聚集索引不再"终止"叶子上的RID,而是使用聚簇索引的聚类键?是对的吗?

sql-server clustered-index

13
推荐指数
1
解决办法
3447
查看次数

Ant字符串函数?

Ant有没有办法做字符串大写/小写/ captialize/uncaptialize字符串操作?我查看了PropertyRegex,但我不相信最后两个是可能的.还有别的吗?

java string ant

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

IntelliJ IDEA是否具有Create Wrapper代码生成器

如果我有几个方法的接口.有时我需要创建一个接口的新实现,它包装接口的另一个实例并将大多数方法委托给包装实例.然后我会改变一些实现,也许不会委托它们.

一个典型的例子是Collections.unmodifiableXXX()JDK中阻止访问修改方法的方法.

IntelliJ是否有任何代码帮助可以生成接口的委托实现,然后我可以调整几个方法?

java code-generation intellij-idea

12
推荐指数
2
解决办法
4357
查看次数

Oracle是否有过滤索引概念?

与SQLServer类似,我可以执行以下操作

create index TimeSeriesPeriodSs1 on TimeSeriesPeriod (validationStatus, completionStatus)
where completionStatus= N'Complete'  
and  validationStatus= N'Pending'
Run Code Online (Sandbox Code Playgroud)

sql-server oracle filtered-index

12
推荐指数
3
解决办法
5958
查看次数

单个hibernate会话中的多个事务(使用Spring)

是否可以使用Hibernate + Spring对以下内容进行建模.

  • 公开会议
  • 开始交易
  • 做一些工作
  • 承诺
  • 开始交易
  • 更多的工作
  • 承诺
  • 关闭会话

我使用Spring TransactionTemplate来执行会话+事务生命周期范围.

原因是有时我在业务流程中有几个阶段,我想在每个阶段完成后提交.但是我想继续使用相同的持久对象.如果我每个事务都有一个单独的会话,那么我会得到瞬态/分离异常,因为原始会话已关闭.

这可能吗?

java spring hibernate transactions

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

有没有可靠的替代iText用于Java中的程序化PDF生成?

任何人都会遇到质量/功能相似或相近的任何其他内容?

干杯.

java pdf pdf-generation itext

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

InputStreamReader缓冲问题

我正在从一个文件中读取数据,遗憾的是,这种文件有两种类型的字符编码.

有一个标题和一个正文.标头始终为ASCII,并定义正文编码的字符集.

标头不是固定长度,必须通过解析器运行以确定其内容/长度.

该文件也可能非常大,所以我需要避免将整个内容带入内存.

所以我开始使用单个InputStream.我最初使用带有ASCII的InputStreamReader包装它并解码标头并提取主体的字符集.都好.

然后我创建一个具有正确字符集的新InputStreamReader,将其放在同一个InputStream上并开始尝试读取正文.

不幸的是,javadoc证实了这一点,即InputStreamReader可能会选择提前读取以达到效率目的.因此,标题的阅读会咀嚼身体的一部分/全部.

有没有人有解决这个问题的建议?会手动创建一个CharsetDecoder并一次输入一个字节但是一个好主意(可能包含在自定义的Reader实现中吗?)

提前致谢.

编辑:我的最终解决方案是编写一个没有缓冲的InputStreamReader,以确保我可以解析标题而不会咀嚼身体的一部分.虽然这不是非常有效,但我使用BufferedInputStream包装原始InputStream,因此它不会成为问题.

// An InputStreamReader that only consumes as many bytes as is necessary
// It does not do any read-ahead.
public class InputStreamReaderUnbuffered extends Reader
{
    private final CharsetDecoder charsetDecoder;
    private final InputStream inputStream;
    private final ByteBuffer byteBuffer = ByteBuffer.allocate( 1 );

    public InputStreamReaderUnbuffered( InputStream inputStream, Charset charset )
    {
        this.inputStream = inputStream;
        charsetDecoder = charset.newDecoder();
    }

    @Override
    public int read() throws IOException
    {
        boolean middleOfReading = false;

        while ( true …
Run Code Online (Sandbox Code Playgroud)

java buffer decode character-encoding inputstreamreader

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