我有一个包含列的表:
id, 类型, typeid
类型可以是Type1、Type2。
我想通过 join 来查看 Postrgesql。如果 Type = Type1,则与 Type1Table 表进行联接,如果 Type = Type2,则与 Type2Table 表进行联接。
这是真的吗?
我有一个包含列的表:
id, 类型, typeid
类型可以是Type1、Type2。
我想通过 join 来查看 Postrgesql。如果 Type = Type1,则与 Type1Table 表进行联接,如果 Type = Type2,则与 Type2Table 表进行联接。
这是真的吗?
共有三个表:
my_entity: id, ....
comment: id, my_entity_id, description_id, date, active ...
description: id, ...
在代码中它看起来像这样:
@Table(name = "my_entity")
public class MyEntity {
@OneToMany(mappedBy = my_entity_id, cascade = CascadeType.ALL)
private Set<@Valid CommentEntity> comments;
}
@Table(name = "comment")
public class CommentEntity {
@ManyToOne(cascade = {CascadeType.REFRESH, CascadeType.DETACH}, optional = false)
@JoinColumn(name = "my_entity_id", nullable = false)
protected MyEntity myEntity;
@Column(name = "description_id")
@Convert(converter = DescriptionConverter.class)
private Descriprtion description;
}
如您所见,它MyEntity
有一系列评论。
我正在使用QueryDSL
. 我创建了BooleanBuilder
. 我试图在那里提出一个条件:
查找具有特定评论的实体 (MyEntity) Description
。这假设我已经有一个Description
. 在这种情况下,在评论数组中,您只需按日期获取最后一个活动评论。
如果MyEntity
没有Set
,但立即是一个类变量Comment
,我会这样做:
builder.and(myEntity.comment.description.eq(description)).
但就我而言,我仍然需要选择最后一个活动评论并检查是否存在指定的description
. 并且只有这样的评论才能返回entity
。
我怎样才能提出这样的要求?
有一行:“2019-11-28T02:25:30.372079”
我找不到获取 ZonedDateTime 的模式
是这样的吗:
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
ZonedDateTime.parse("2019-11-28T02:25:30.372079", formatter)
我得到:方法抛出了“java.time.format.DateTimeParseException”异常。
如何从给定的字符串中获取 ZonedDateTime?
您需要运行控制台命令来获取文件大小:
hadoop fs -du some/path
并将结果存储在变量中。如何在 Scala 中做到这一点?
一个对象带有 api,它有 org.json.simple.JSONObject。我从数据库中获取数据并将其转换为 JSONObject。如果将两个对象都转换为字符串并使用等号进行比较,则结果将为正(真)。我@EqualsAndHashCode(of = {"myfield"})
从龙目岛使用。
但如果我这样做:
MyJsonObject.equals(MyJsonObject2)
我会得到一个否定的结果。
通过经验测试,我发现如果 JSON 由 2 个键值对组成,equals 方法适用于它们。但是如果你用三对值比较相同的对象,那么 equals 总是返回 false。
如果我尝试转换为 HashMap 并通过 equals 进行比较,也会出现同样的情况。在这里,我挂在类上的注释与它无关。如果两个绝对相同的对象有 2 个对,而如果有 3 个,那么它们怎么可能是等价的呢?我不明白的东西?
如何比较两个 JSONObject?
表中有三个字段:
approver: String
deleted: Boolean
user_id: Integer
有必要对添加事件的表进行例外处理。不允许有相同 user_id 的记录,deleted = false,approver - 不为空。
那些。以下情况是可以接受的:
approver: "Any1", deleted: true, user_id: 1
approver: "Any2", deleted: true, user_id: 1
approver: "Any3", deleted: false, user_id: 1
但这些不是:
approver: "Any1", deleted: true, user_id: 1
approver: "Any2", deleted: false, user_id: 1
approver: "Any3", deleted: false, user_id: 1
如何为 Postgres 编写这样的约束?
我在我的项目中使用 Spring Data。
数据库中有一个字段名称为 varchar 的表。有必要通过部分单词来实现自动完成搜索。例如,我输入前两个字母“Mi”,作为响应,我从数据库中得到 10 个值,其中这两个字母按此顺序出现。
如何实施?
有两个分支(1 和 2)。我想将所有提交从第一个分支移到第二个。保持第一个不变。
移动到第二个线程。做过
git rebase 1
推。
我发现第一个分支充满了第二个的变化,而第二个没有变化。这是 git reflog 命令的结果
$ git reflog
1759017 HEAD@{0}: checkout: moving from 1e8320... to Branch-1
1e83206 HEAD@{1}: commit (amend): Branch-1
1759017 HEAD@{2}: rebase: checkout Branch-1
dd01ab8 HEAD@{3}: checkout: moving from Branch-1 to Branch-2
...
现在我怎样才能回滚所有内容并正确执行?
我有一个字符串数组
List<List<String>> list.
我想在并行线程中运行每个内部数组。并遍历每个数组。将值传递给 checkValue() 函数。该函数返回一个布尔值。我想把所有的值都放到result变量中做进一步处理。
List<Boolean> result = list.parallelStream().map(array -> array.stream().map(value -> checkValue(value)))
如何使用流()来做到这一点?
有一张单子。我在一个单独的线程中处理每个元素。很多物体。我想将它们分成组(一组中有 10 个对象),并在单独的线程中处理每个组。
我现在怎么做:
list.parallelStream().map(key -> Some actions)
我该如何实施?
如何检查异常?
我应该在第二个方法调用上得到一个错误。如果我这样做:
@Test(expected = MyError.class)
public void test() throws Exception {
this.myClass.initialize();
this.myClass.initialize();
}
然后测试将通过,对他来说没关系,在第一种或第二种情况下有一个错误。
如何检查是否在第二次调用函数时发生错误?
尝试反序列化 Jackson 中的响应时出错
org.springframework.http.converter.HttpMessageNotReadableException: Could not read JSON: Can not construct instance of org.proj.model.profile.Profile, problem: Should never call 'set' on setterless property
at [Source: sun.net.www.protocol.http.HttpURLConnection$HttpInputStream@2d881384; line: 10, column: 1] (through reference chain: java.util.ArrayList[0]); nested exception is com.fasterxml.jackson.databind.JsonMappingException: Can not construct instance of org.proj.model.profile.Profile, problem: Should never call 'set' on setterless property
at [Source: sun.net.www.protocol.http.HttpURLConnection$HttpInputStream@2d881384; line: 10, column: 1] (through reference chain: java.util.ArrayList[0])
at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.readJavaType(AbstractJackson2HttpMessageConverter.java:208)
at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.read(AbstractJackson2HttpMessageConverter.java:200)
此时,我在 Profile 构造函数中添加了另一个变量
@JsonProperty("childrens") List<String> childrens
调用后出现错误:
return restClient.exchange(PROFILES_URL + "/name" + path, HttpMethod.GET, restClient.makeHttpEntityWithAuth(), new ParameterizedTypeReference<Collection<Profile>>() {
});
我在网上搜索了错误的名称,但没有找到。
简介类:
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(ignoreUnknown = true)
public class Profile{
private final String id;
private final List<String> childrens;
public Profile(
@JsonProperty("id") String id,
@JsonProperty("childrens") List<String> childrens) {
this.id = id;
this.childrens = childrens;
}
public String getId() {
return id;
}
public List<String> getChildrens() {
return childrens;
}
有什么问题?
如何测试私有注入对象?
有一个代码:
public class MyClass {
@Inject
private SecondClass secondClass;
public boolean isInProgres() {
if (secondClass.isTaskInProgress()) {
return true;
}
return false;
}
}
在测试中,我想做类似的事情:
when(secondClass).doReturn(true);
assertThat(MyClass.isInProgres(), equalTo(true));
但是如果将 secondClass 传递给构造函数,那么我可以覆盖我传递的对象方法的行为。
因此,在测试中,我创建了对象 MyClass 并且它注入了不清楚是什么并且不检查测试的工作。
有PL/SQL代码:
for elem in 1 .. some_array.count loop
UPDATE my_table
SET name = null
WHERE id = some_array(elem).id;
end loop;
name
在这里,如果此行some_array
存在,则循环中的字段设置为零。id
如何更优雅地做到这一点,一两行?
同时,rollback
如果出现问题(对于任何错误),是否回滚()?
下午好。
Java中有一个应用程序。他必须受到保护。使用密码创建角色。并限制对端点的访问。
该应用程序不在 Spring 中。
如何做到这一点(示例或想法)?
这是我创建包的脚本:
CREATE OR REPLACE PACKAGE PP AS
TYPE REFCURSOR IS REF CURSOR;
FUNCTION getData(id IN VARCHAR2) RETURN REFCURSOR;
END PP;
该包是在第一次运行时创建的。我添加了一个程序并尝试编译,它给出了一个错误:
ORA-00955: 名称已被现有对象使用
如何重新创建包?
这里有张桌子:
CREATE TABLE my_table (
name VARCHAR2(20 BYTE) NOT NULL,
car VARCHAR2(40 BYTE) NOT NULL,
rank NUMBER,
PRIMARY KEY (name, car)
);
在 Java 中,我有一个 List - 存储信息名称、汽车、rank = null 的对象。
您需要编写一个实现以下内容的存储函数(pl/sql):
如果列表中有不在表中的对象,请将它们添加到表中。
如果列表中没有表中的记录,请将它们从表中删除。
在这些操作中,不要考虑排名字段(即在其值没有差异的情况下进行比较时)。
刚想到这个:
DECLARE
type my_table_array IS TABLE OF my_table%ROWTYPE;
v_Numbers my_table_array := my_table_array();
rec my_table%ROWTYPE;
idx number;
BEGIN
v_Numbers.extend(1);
idx := v_Numbers.count;
rec.name := 'John';
rec.car := 'Toyota';
rec.rank := 5;
v_Numbers(idx) := rec;
END;
现在如何在BEGIN中漂亮地检查?如果表中没有此类记录,则添加它们。并遍历所有 v_Numbers。
有一个实体Person。她有一个吸气剂getId()
。
有这些实体的列表List<Person>.
如何从 to 转换List<Person>
为Map<String, List<Person>>
密钥Id
?
那些。分组。Person
_Id
创建了一个表:
CREATE TABLE my_table (
id VARCHAR2(20 BYTE) NOT NULL,
name VARCHAR2(40 BYTE) NOT NULL,
phone NUMBER,
PRIMARY KEY (id, name),
unique (id,phone)
);
这个想法是不可能在id
and字段中创建具有相同值对的字符串phone
。
但是,电话字段可以包含null
. 那些。我想允许在字段id
和phone
if中创建相同的值对phone = null
。禁止所有其他人。
我怎样才能做到这一点?