小编Chr*_*urn的帖子

UpdateSourceTrigger =明确

我正在创建一个带有多个文本框的WPF窗口,当用户按下OK按钮时,我希望所有文本框都被评估为非空白.我知道我必须使用TextBoxes和'Explicit'的'UpdateSourceTrigger',但我是否需要为每个人调用'UpdateSource()'?例如

<TextBox Height="23" 
     HorizontalAlignment="Left" 
     Margin="206,108,0,0" 
     Text="{Binding Path=Definition, UpdateSourceTrigger=Explicit}"
     Name="tbDefinitionFolder" 
     VerticalAlignment="Top" 
     Width="120" />

<TextBox Height="23" 
     HorizontalAlignment="Left" 
     Margin="206,108,0,0" 
     Text="{Binding Path=Release, UpdateSourceTrigger=Explicit}"
     Name="tbReleaseFolder" 
     VerticalAlignment="Top" 
     Width="120" />
Run Code Online (Sandbox Code Playgroud)

...

BindingExpression be = tbDefinitionFolder.GetBindingExpression(TextBox.TextProperty);
be.UpdateSource();
BindingExpression be2 = tbReleaseFolder.GetBindingExpression(TextBox.TextProperty);
be2.UpdateSource();
Run Code Online (Sandbox Code Playgroud)

wpf binding

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

H2 数据库 - SQL 错误:50200 SQLState:HYT00 - 尝试锁定表超时

我收到了这个奇怪的 h2 错误(版本 1.2.147),代码基本上是这样做的:-

创建 session1 插入表 ABC 提交

XXX

创建 session2 从表 XYZ 读取 -> 产生锁定表 ABC 超时异常。关闭会话 2

关闭会话 1

这种情况的奇怪之处在于,如果 XXX 为空(即没有代码),我会收到超时异常,但是如果它包含 Select 语句,则一切正常。

?????

h2

5
推荐指数
0
解决办法
1292
查看次数

hbm2ddl忽略@Column注释?

为什么hbm2ddl会忽略@Column注释?

这是我的班级: -

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name = "BASETEMPLATE")
public class BaseTemplate implements IBaseTemplate
{
    private Integer id;

    @Column(name="TEMPLATENAME")    
    private String templateName;

    @Column(name="BASETEMPLATEID")  
    private Integer baseTemplateId;

    @Id 
    @GeneratedValue 
    @Column(name = "TEMPLATEID")
    @Override
    /** {@inheritDoc} */
    public Integer getId() { return id; }       
...
}
Run Code Online (Sandbox Code Playgroud)

和hbm2dll生成此(sqlserver)表

dbo.BASETEMPLATE 
(
TEMPLATEID      int
templateName    varchar(255)
baseTemplateId  int
)
Run Code Online (Sandbox Code Playgroud)

dialect是org.hibernate.dialect.SQLServerDialect奇怪的是,主键始终是正确创建的?

hibernate hbm2ddl

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

多个线程和AtomicInteger

我从原子学教程中获取了这段代码,它说:

"通过使用AtomicInteger作为Integer的替代,我们能够在线程安全的庄园中同时增加数量,而无需同步对变量的访问.方法incrementAndGet()是一个原子操作,所以我们可以安全地从多个调用此方法线程".

它说这将返回正确的结果,但是实例都没有达到1000,它们通常相当少,例如

test1 result = 532
test2 result = 128
Run Code Online (Sandbox Code Playgroud)

怎么了 ?

public class AtomicsTest {

    public static void main(String... args){

        AtomicsTest test = new AtomicsTest();        
        test.test1();        
        test.test2();                             
    }

    public void test1() {
        AtomicInteger atomicInt = new AtomicInteger(0);

        ExecutorService executor = Executors.newSingleThreadExecutor();                
        IntStream.range(0,1000).forEach(i->executor.submit( atomicInt::incrementAndGet ));
        System.out.println("test1 result = "+ atomicInt.get());
        executor.shutdown();
    }

    public void test2() {

        AtomicInteger atomicInt = new AtomicInteger(0);

        ExecutorService executor = Executors.newFixedThreadPool(2);            
        IntStream.range(0,1000).forEach(i->executor.submit( atomicInt::incrementAndGet ));
        System.out.println("test2 result = " + atomicInt.get());        
        executor.shutdown();           
    }    
}
Run Code Online (Sandbox Code Playgroud)

java multithreading atomicinteger java-threads

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