我有两个实体之间的简单关联:
public class Car {
...
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "user_id")
private User user;
...
}
Run Code Online (Sandbox Code Playgroud)
和
public class User {
@Id
@GeneratedValue
@Column(name = "user_id")
private long userId;
...
@OneToMany(fetch = FetchType.LAZY, mappedBy = "user")
private Set<Car> cars;
...
}
Run Code Online (Sandbox Code Playgroud)
然后我从客户端获得一些用户ID.例如,userId == 5;
为了节省汽车用户,我需要做下一步:
User user = ... .findOne(userId);
Car car = new Car();
car.setUser(user);
... .save(car);
Run Code Online (Sandbox Code Playgroud)
我的问题是:
我可以在没有取用用户的情况下坚持记录汽车记录吗?
与我使用本机SQL查询一样:只需在Car表中插入userId,如string(long).
使用第二个lvl缓存会更快,但在我看来,我不需要做额外的动作.
我不想使用本机查询的主要原因是因为我的项目中有更多难关联,我需要多次.save(car).此外,我不想手动控制查询执行的顺序.
如果我使用session.createSQLQuery("insert into ..... values()"),Hibernate的批量插入工作会正常吗?
如我错了请纠正我.
提前致谢!
更新:
实际上映射类似于:
用户和汽车之间有@ManyToMany关联.但是交叉表也是一个名为Passanger的实体.所以映射是下一个:
public class User{
@OneToMany(fetch = FetchType.LAZY, mappedBy …Run Code Online (Sandbox Code Playgroud) 首先,我需要说发送1.2.0.RELEASE的电子邮件工作正常
application.properties:
spring.mail.host = smtp.gmail.com
spring.mail.username = *****@gmail.com
spring.mail.password = ****
spring.mail.properties.mail.smtp.auth = true
spring.mail.properties.mail.smtp.socketFactory.port = 465
spring.mail.properties.mail.smtp.socketFactory.class = javax.net.ssl.SSLSocketFactory
spring.mail.properties.mail.smtp.socketFactory.fallback = false
Run Code Online (Sandbox Code Playgroud)
pox.xml
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.2.0.RELEASE</version>
<relativePath/>
</parent>
Run Code Online (Sandbox Code Playgroud)
.......
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
Run Code Online (Sandbox Code Playgroud)
将父版本更改为1.2.5.RELEASE电子邮件发送无效
文档说: 如果spring.mail.host和相关库(由spring-boot-starter-mail定义)可用,则创建默认JavaMailSender(如果不存在).
所以我补充说
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.7</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
它没有帮助,然后我已经取而代之
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.5.4</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
我也试过了
spring.mail.host = smtp.gmail.com
spring.mail.username = *****@gmail.com
spring.mail.password = ****
spring.mail.port = 465
Run Code Online (Sandbox Code Playgroud)
结果一样.
手动创建和配置@Bean不是问题.但是我想要使用Spring Boot的所有美感.
请指出我的错误.
提前致谢
我正在使用Android O Developer预览版4 - API 26
并且似乎是新功能,例如:
hasSpeedAccuracy() 总是回来 falsegetSpeedAccuracyMetersPerSecond() 总是回来 0.0getBearingAccuracyDegrees() 总是回来 0.0适用于两者fused和gps位置提供商.我在开车时试过了.所以我speed和bearing他们自己但不准确.
我错过了什么吗?
请参阅此处的文档
谢谢!
我在2个实体(Entity1 To Entity2)之间有@OneToMany关联.
我的sqlQueryString包含以下步骤:
select ent1.*, ent2.differ_field from Entity1 as ent1 left outer join Entity2 as ent2 on ent1.item_id = ent2.item_id
执行:
Query sqlQuery = getCurrentSession().createSQLQuery(sqlQueryString)
.setResultTransformer(Transformers.aliasToBean(SomeDto.class));
List list = sqlQuery.list();
Run Code Online (Sandbox Code Playgroud)
和
class SomeDto {
item_id;
some_filed1;
...
differ_field;
...
}
Run Code Online (Sandbox Code Playgroud)
结果是 List<SomeDto>
用灰色突出显示的字段是相同的.
所以,我想要的是
group by,例如,item_id和List<Object> differFieldList将作为聚合的结果.
class SomeDto {
...fields...
List<Object> differFieldList;
}
Run Code Online (Sandbox Code Playgroud)
或类似的东西 Map<SomeDto, List<Object>>
我可以手动映射,但有一个麻烦:当我使用时,
sqlQuery.setFirstResult(offset).setMaxResults(limit)我检索limit记录的数量.但是有多余的行.合并后我实际上没有多少计数.
提前致谢!
我知道有很多关于这个问题的类似问题但对我没什么用.
我在Aim和User之间有@ManyToOne关系.
@ManyToOne(fetch = FetchType.LAZY, optional = false)
@JoinColumn(name = "user_id", nullable = false, updatable = false)
private User user;
Run Code Online (Sandbox Code Playgroud)
和
@OneToMany(fetch = FetchType.LAZY, mappedBy = "user")
private Collection<Aim> userAims;
Run Code Online (Sandbox Code Playgroud)
分别.
@Override
@Transactional(propagation = Propagation.REQUIRED)
@PreAuthorize("isAuthenticated() and principal.user.isEnabled() == true")
public Aim findById(String aimId) throws NumberFormatException, EntityNotFoundException {
Aim aim = null;
try {
aim = aimRepository.findOne(Long.parseLong(aimId));
} catch (NumberFormatException e) {
throw new InvalidDataAccessApiUsageException(e.getMessage(), e);
}
if (aim == null) throw new EntityNotFoundException("Aim with id: " + …Run Code Online (Sandbox Code Playgroud) nx affected:lint --fix和 和有nx format:write什么区别?
不同的文章似乎确实提到代码应该使用nx format:write命令进行格式化,但似乎并没有完全依赖于 ESLint 规则。
格式化后,我一直有 ESLint 错误。
我错过了什么吗?
谢谢
我试图从java脚本控制台进行AJAX调用,如下所示
jQuery.ajax({
contentType: "application/json",
url: "/accountServices/resetPassword",
type: "POST",
data: '{
"userName":"local_student",
"newPassword":"test1231",
"guid":"376ed5f7-a780-455e-8682-6b5cf45cff80"
}'
});
Run Code Online (Sandbox Code Playgroud)
我的控制器方法是这样的.
@RequestMapping(value = "/resetPassword", method = RequestMethod.POST)
public String resetPassword(@RequestParam("userName") String userName,
@RequestParam("newPassword") String newPassword,
@RequestParam("guid") String guid, Model uiModel,
HttpServletRequest request, final Locale locale)
throws MessagingException {
try {}
}
Run Code Online (Sandbox Code Playgroud)
我收到了错误
必需的字符串参数'userName'不存在.
有人可以帮帮我吗!
我可以以某种方式获得sharedLink而不显示gapi.drive.share.ShareClient()对话框吗?我只想创建自己的Picker对话框来共享文件.
我已经调查过这个对话框连接到外部URL /sharing/commonshare/
以设置共享状态并获取sharedLinks.
如你所见,POST请求中有"token"prop.(第一张图片)要获得它,API会做另一个请求
其实我不想那么努力.有关于它的文档是否存在?因为我没有找到类似的东西.
我只是想分享选定的文件.
谢谢!
java ×4
hibernate ×3
spring ×3
android ×1
android-gps ×1
database ×1
email ×1
jakarta-mail ×1
javascript ×1
jpa ×1
jquery ×1
nrwl ×1
nrwl-nx ×1
orm ×1
spring-boot ×1
spring-mvc ×1
sql ×1