小编Noo*_*tor的帖子

休眠和继承(TABLE_PER_CLASS)

我使用Hibernate来持久化继承的对象,但是当我尝试在数据库中持久保存对象时,我得到了这条消息:

org.springframework.dao.InvalidDataAccessResourceUsageException: Could not execute
JDBC batch update; SQL [update Widget set CONTAINER_ID=? where WIDGET_ID=?]; nested 
exception is org.hibernate.exception.SQLGrammarException: 
Could not execute JDBC batch update (...) Caused by: java.sql.BatchUpdateException: Table 
'schema.widget' doesn't exist
Run Code Online (Sandbox Code Playgroud)

这是我用来生成表的类:

@Entity
@Table(name="CONTAINER")
public class Container {
     (...)
     private Set<Widget> widgets;

     @OneToMany(targetEntity = Widget.class)
     @JoinColumn(name="CONTAINER_ID", nullable=true)
     public Set<Widget> getWidgets() {
         return widgets;
     }

     public void setWidgets(Set<Widget> widgets) {
         this.widgets = widgets;
     }
}


@Entity
@Inheritance(strategy=InheritanceType.TABLE_PER_CLASS)
public abstract class Widget {
     private long id;
     private int position;

     @Id …
Run Code Online (Sandbox Code Playgroud)

java orm inheritance annotations hibernate

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

有没有办法看到原始类型的HashCode?

拖拽基本DS ...我读过,没有hashCode()基本类型的int方法可用,如果被调用int,它将抛出错误

错误:int无法解除引用

这是否意味着如果int n = 10那么它HashCode也将是10?

如果我仍然需要int在下面的程序中看到hascode ,有没有办法看到它,如Integer Wrapper???

public static void main(String []args){
       String me = "hello";
       int n = 10;

       int h1 = me.hashCode();
       int h2 = n.hashCode();

       System.out.println(h1);
       System.out.println(h2);
     }
Run Code Online (Sandbox Code Playgroud)

java hashcode

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

int类型的意外输出

学习JAVA,我试图测试while循环的上限继续增加int.请参阅下面的程序:

 public class Test {

   public static int a(){
     int a = 10;
      while(a > 9 )
          ++a;
      return a; 
   }

   public static void main(String[] argc) {

         Test t = new Test();
         int k = t.a();
         System.out.println("k = "+(1 * k));    
    }
}
Run Code Online (Sandbox Code Playgroud)

我知道32位的范围是-2,147,483,648到2,147,483,647,所以在此基础上,我期待输出,2,147,483,647但我得到:

k = -2147483648
Run Code Online (Sandbox Code Playgroud)

我甚至试过了

 System.out.println("k = "+(1 * k/2)); 
Run Code Online (Sandbox Code Playgroud)

但仍然输出是:

k = -1073741824
Run Code Online (Sandbox Code Playgroud)

题 :

为什么解决方案是负面的,应该是积极的?

java size int

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

在ubuntu 14.04上安装vlc时无法满足依赖性

花了大约4小时现在仍然无法弄清楚这里有什么问题.

这是终端转储:

machine@machine:~$ sudo apt-get install vlc
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 vlc : Depends: vlc-nox (= 3.0.0~~git20141116+r58673+31~ubuntu14.04.1) but it …
Run Code Online (Sandbox Code Playgroud)

installation ubuntu vlc libavcodec ubuntu-14.04

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

逐个获取查询集数据

我知道常规查询集或迭代器查询集方法一次性评估并返回整个数据集.

例如,拿这个:

my_objects = MyObject.objects.all()
for rows in my_objects:            # Way 1
for rows in my_objects.iterator(): # Way 2
Run Code Online (Sandbox Code Playgroud)

在这两种方法中,所有行都以单一方式获取.在djago中有任何方法可以从数据库中逐个获取查询集行.

为什么这个奇怪的要求

目前我的查询提取让我说n行,但有时我得到Python和Django OperationalError(2006,'MySQL服务器已经消失').

所以要有一个解决方法,我目前正在使用一个奇怪的while循环逻辑.所以想知道是否有任何本机内置方法或我的问题甚至逻辑首先!:)

python iteration django django-queryset

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

什么是我的openssl和ssl默认CA Certs路径?

背景 :

我正在尝试与外部供应商创建SSL上下文连接以进行握手,然后通过该连接使用xml进行通信.

clientCert = path["cert_path"]
clientKey = path["key_path"]
PROTOCOL = ssl.PROTOCOL_TLSv1
context = ssl.SSLContext(PROTOCOL)
context.load_default_certs()
context.load_cert_chain(clientCert, clientKey)
conn = httplib.HTTPSConnection(uri, 443, context=context) 
conn.request("POST", '/', headers=headers, body=signedRequest) # code breaks here
response = conn.getresponse()
Run Code Online (Sandbox Code Playgroud)

但这段代码打破说:

SSLError(1, u'[SSL: TLSV1_ALERT_UNKNOWN_CA] tlsv1 alert unknown ca (_ssl.c:590)
Run Code Online (Sandbox Code Playgroud)

现在,我知道CA证书正确地放在服务器上,某个地方的路径搞砸了.

我怎么能看到什么是CA的路径作为此sslopenssl挑CA证书的.
Openssl似乎正在建立正确的连接,所以我需要在这里明确提供ssl的路径.

requests.utils 路径可以在下面找到,寻找类似于理解的东西 context.load_default_certs()

In [1]: from requests.utils import DEFAULT_CA_BUNDLE_PATH

In [2]: print(DEFAULT_CA_BUNDLE_PATH)
/usr/local/python/path/site-packages/certifi/cacert.pem
Run Code Online (Sandbox Code Playgroud)

python ssl https openssl tls1.2

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

IntelliJ想法停留在“正在加载项目”屏幕上

除了我现有的错误之外,这是星期一的噩梦!

我有几个项目,我同时使用intellj打开。该项目之一未显示其中的所有目录结构,因此我听取了一些建议并删除了该.idea文件夹。现在,所有地狱都在我身上松散。

我从人类黎明起就被困在这里

Intellij日志

2017-12-04 09:46:59,444 [   9036]   INFO -                git4idea.GitVcs - Git version: 2.14.3.0 
2017-12-04 09:46:59,533 [   9125]   INFO - pl.projectlevelman.NewMappings - VCS Root: [Git] - [/codebase/plutus] 
2017-12-04 09:47:01,309 [  10901]   INFO - tor.impl.FileEditorManagerImpl - Project opening took 6353 ms 
2017-12-04 09:47:02,913 [  12505]   INFO - .diagnostic.PerformanceWatcher - Indexable file iteration took 4772ms; general responsiveness: ok; EDT responsiveness: 2/5 sluggish, 1/5 very slow 
2017-12-04 09:47:05,252 [  14844]   INFO - ellij.project.impl.ProjectImpl - 18 project components initialized …
Run Code Online (Sandbox Code Playgroud)

ide intellij-idea

5
推荐指数
3
解决办法
3974
查看次数

登录界面方法

到目前为止,我一直在研究Java 7,最近又转到了Java-8,令人惊讶的是您可以在Java-8接口中添加方法

到目前为止一切都很好。。。。

现在,我的问题是,这logging是任何开发中必不可少的部分,但是似乎lombok.extern.slf4j不允许您log通过接口方法添加内容,因为只允许在classes和上使用enums

您如何使用log接口方法(如果通过lombok是唯一方法?)?还是不应该记录接口方法?我在这里想念什么?

PS:目前我有工作System.out.println....是啊...这就是小白 :)

java logging slf4j java-8

5
推荐指数
3
解决办法
3137
查看次数

电话号码正则表达式验证

需要验证以逗号分隔的电话号码,并且可以将国家/地区代码作为起始参数.我需要在前端进行临时验证,例如验证不同的数字

  1. 带国家/地区代码的号码(应指定最小长度和最大长度):+ 919845098450
  2. 没有国家代码的号码(应指定最小长度和最大长度):9845098450

这些数字用逗号(+919845098450,9845098450等)分隔,所以我已经为单个电话号码做了这个.

^([+])?[0-9()\-#+]*$
Run Code Online (Sandbox Code Playgroud)

和逗号分开

^([+])?[,\d{9}]*$
Run Code Online (Sandbox Code Playgroud)

但是输入以逗号结尾,上面的正则表达式没有显示错误(+919845098450,9845098450,).

我需要在jquery/javascript中为逗号分隔的数字执行此操作.

如果可能的话,我需要指定有和没有国家代码的最小和最大长度.感谢您的帮助.

javascript regex jquery

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

基于条件的 lombok 对象构建

所以这是为构建Humans编写的现有代码片段(如matrix电影中:))

if (gender.equals("male")){
    return Human.builder()
        .gender('male')
        .name('abc')
        .speaks("english")
        .alive(true)
        .build();
}else{
    return Human.builder()
        .gender('female')
        .name('abcd')
        .speaks("english")
        .alive(true)
        .build();    
}
Run Code Online (Sandbox Code Playgroud)

如果你看一下,这段代码在属性分配中有很多冗余,可以最小化。现在想象一下 10 个类似的条件(这里,只有 2 个!),无论您尝试什么,它最终都会导致看起来很丑的冗余代码。

我尝试在网上搜索大量资源,但找不到任何按照 builder design构建对象的方法。我想在这里实现什么(减少代码冗余)如下所示:

Human human = Human.builder()
            .speaks("english")
            .alive(true);

if (gender.equals("male")){
        human = human    // or just human.gender('male').name('abc'); no assignment
        .gender('male')
        .name('abc');
}else{
        human = human // or just human.gender('female').name('abcd'); no assignment
        .gender('female')
        .name('abcd');
}            
return human.build();
Run Code Online (Sandbox Code Playgroud)

这是否可以通过 lombok 或任何人知道在这里构建对象的更好方法?
如果它值得,我在drop-wizard

java builder lombok dropwizard

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